<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="../../../vue.js"></script>
  </head>

  <body>
    <div id="app">
      <App></App>
    </div>
    <script>
      Vue.config.productionTip = false;

      //如果使用Vue.extend创建一个组件,则得到一个VueComponent构造函数
      // const App = Vue.extend({})
      //创建组件的时候,Vue提供了一个简写,可以直接书写为一个配置对象即可
      const App = {
        name: "App",
        template: `
          <h1>App</h1>
        `,
      };

      const vm = new Vue({
        el: "#app",
        components: {
          //注册组件的时候,如果App是一个VueComponent构造函数,则直接注册,我们在模板中就可以直接使用
          //注册组件的时候,如果App是一个对象,则Vue认为他是创建组件时传入的配置对象,所以就先使用Vue.extend方法,传入这个配置对象,然后得到VueComponent对象以后,再注册
          App,
        },
        data() {
          return {};
        },
      });
    </script>
  </body>
</html>
